package com.tgpms.web.excelTable.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;

/**
 * <p>
 * 动态表格列表
 * </p>
 *
 * @author newway
 * @since 2020-01-17
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("EXCEL_COLUMN")
@ApiModel(value="ExcelColumn对象", description="动态表格列表")
public class ExcelColumn implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "C_ID" , type = IdType.INPUT)
    private String cId;

    @ApiModelProperty(value = "关联excel_table主键")
    @TableField(value = "T_ID")
    private String tId;

    @ApiModelProperty(value = "列编码")
    @TableField(value = "CODE")
    private String code;

    @ApiModelProperty(value = "列描述")
    @TableField(value = "DESCRIPTION")
    private String description;

    @ApiModelProperty(value = "列类型")
    @TableField(value = "TYPE")
    private String type;

    @ApiModelProperty(value = "长度")
    @TableField(value = "LENGTH")
    private Long length;

    @ApiModelProperty(value = "默认值")
    @TableField(value = "C_DEFAULT")
    private String cDefault;

    @ApiModelProperty(value = "是否主键,是：Y 否：N")
    @TableField(value = "IF_PRIMARY")
    private String ifPrimary;

    @ApiModelProperty(value = "是否为空,是：Y 否：N")
    @TableField(value = "IF_NULL")
    private String ifNull;

    @ApiModelProperty(value = "是否索引,是：Y 否：N")
    @TableField(value = "IF_INDEX")
    private String ifIndex;

    @ApiModelProperty(value = "数据权限")
    @TableField(value = "DATA_OWNER")
    private String dataOwner;

    @ApiModelProperty(value = "工程")
    @TableField(value = "PROJECT")
    private String project;

    @ApiModelProperty(value = "插入人")
    @TableField(value = "INSERT_USER")
    private String insertUser;

    @ApiModelProperty(value = "插入时间")
    @TableField(value = "INSERT_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date insertDate;

    @ApiModelProperty(value = "修改人")
    @TableField(value = "MODIFY_USER")
    private String modifyUser;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "MODIFY_DATE")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date modifyDate;

    @ApiModelProperty(value = "指定用户")
    @TableField(value = "TO_USERS")
    private String toUsers;

    @ApiModelProperty(value = "指定用户组")
    @TableField(value = "TO_GROUPS")
    private String toGroups;

    @ApiModelProperty(value = "此字段同业务表的主键保持一致")
    @TableField(value = "ROWSTAMP")
    private String rowstamp;


}